home *** CD-ROM | disk | FTP | other *** search
- texturemapping in E (and assembly :)
- ------------------------------------
-
- This source code here is provided solely for educational
- purposes, it is not solid enough code to base your project
- on. I have a faster and more advanced version of this
- engine available, but it is rather bulky and keeps
- crashing. the version here is an older test version
- which hopefully is more stable but is not guaranteed
- to work on your machine either.
-
- Compile the example with "ec tmaptest"
- Run the example on your favourite low res screenmode
- (the program will present you with a requester).
- The test program uses a builtin c2p routine optimized
- for 030 and above AGA machines, and is unlikely to run
- on graphic boards or other non standard screenmodes.
-
- assuming you get the program to run, you can use these keys
- to influence the camera:
-
- n,m,d,c turn left,right,up,down resp.
- v,b bank/tilt left,right resp.
- s,x,a,z,w,e move down,up,forward,backward,right,left resp.
- r,t lens zoom or wide angle
- q quit
-
- About the engine:
- The texturemapper is fully free-form, but not perspective
- correct (use more polygons!), i.e. unlike Doom, more like
- Descent. As you can see from the test it allows all six
- degrees of freedom for the camera, and there are no restrictions
- on the polygons either.
-
- The intersting bits to look at in the source code would
- be in texturemapper.e. The 5 instructions between "inner:"
- and "DBRA" is where the texturemapper spends 90% of its
- time.
-
- The projection routine in geom.e implements a proper
- fisheye projection (most engines use a flat approximation).
-
- Credits:
- Mikael Kalms for his excellent CPU3BLIT1 c2p I used.
- Jyrki O Saarinen for the tips he gave me on further
- optimizing the inner texturemapping loop.
-